export interface VTableColumnRenderArgs<T = any, V = any> {
  record: T;
  index: number;
  value: V;
}

export interface VTableColumnType<T = any, V = any> {
  key?: any;
  dataIndex?: string | keyof T;
  title?: string;
  width?: string | number;
  align?: "left" | "center" | "right";
  render?: (args: VTableColumnRenderArgs<T, V>) => any;
}

export type VTableColumnsType<T = any> = VTableColumnType<T>[];

export interface RowClickEventArgs<T = any> {
  record: T;
  index: number;
}
